﻿using ServiceContracts.DTO;

namespace ServiceContracts;

/// <summary>
/// 代表用于操作“国家”实体的业务逻辑
/// </summary>
public interface ICountriesService
{
    
    
    /// <summary>
    /// 向国家列表中添加一个国家对象
    /// </summary>
    /// <param name="countryAddRequest">国家添加请求</param>
    /// <returns>返回处理后的国家对象</returns>
    CountryResponse AddCountry(CountryAddRequest? countryAddRequest);
    
    /// <summary>
    /// 返回所有国家
    /// </summary>
    /// <returns>将所有国家返回程CountryResponse</returns>
    List<CountryResponse> GetAllCountries();
    
    /// <summary>
    /// 按id获取国家
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    CountryResponse? GetCountryById(Guid? id);
}